package com.unitech.order.api.beans;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 更改订单 请求参数
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OrderChangeParam implements Serializable {
    @NotNull(message = "订单号不能为空")
    private String id;
    @NotNull(message = "修改状态不能为空")
    private Integer state;
    // 模拟线上高并发时ABA问题解决方案，
    // 在我们案例中如果仅仅更改状态，实际上并不会发生ABA问题
    private Integer version;
}
